package com.lobov.utils;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * Утилитарный класс для чтения матрицы и вектора из текстового файла в список
 * строк
 * 
 */
public class FileReader {

	/**
	 * считывание значений матрицы в список строк из текстового файла
	 * 
	 * @param fileName
	 *            полный путь до файла в системе
	 * @return список строк матрицы
	 * @throws FileNotFoundException
	 */
	public static List<String> getListOfMatrixStrings(String fileName) {
		List<String> strs = new ArrayList<String>();
		Scanner sc = null;
		try {
			sc = new Scanner(new BufferedReader(
					new java.io.FileReader(fileName)));
			while (sc.hasNextLine()) {
				strs.add(sc.nextLine());
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} finally {
			if (sc != null) {
				sc.close();
			}
		}
		return strs;
	}

	public static String getVectorString(String fileName, Charset encoding) {
		String string = null;
		Scanner sc = null;
		try {
			sc = new Scanner(new BufferedReader(
					new java.io.FileReader(fileName)));
			while (sc.hasNextLine()) {
				string = sc.nextLine();
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} finally {
			if (sc != null) {
				sc.close();
			}
		}
		return string;
	}

}
